package com.crm.dao.mapper.customMapper.exchange;

import com.crm.common.model.DhPageInfo;
import com.crm.model.vo.csd.product.*;
import com.crm.model.vo.finishOrderProduct.FinishOrderProductVO;
import com.crm.model.vo.productManager.CustomerMemberProductVO;
import com.crm.model.vo.productManager.CustomerProductVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author wangpeng
 * @Date 2021/9/8
 */
public interface ProductExchangeCustomMapper {

    /**
     * selectProductSceneList
     *       
     * @Author wangpeng
     * @Date 2021/9/9
     * @param order	
     * @return
     */
    List<sceneChangeCourseVO> selectProductSceneList(@Param("order")String order,@Param("enableDisable")Integer enableDisable);

    /**
     * selectProductIndustryList
     *       
     * @Author wangpeng
     * @Date 2021/9/9
     * @param order	
     * @return
     */
    List<industryChangeCourseVO> selectProductIndustryList(@Param("order")String order,@Param("enableDisable")Integer enableDisable);

    /**
     * selectProductHighClassList
     *
     * @Author wangpeng
     * @Date 2021/9/9
     * @param order	
     * @return
     */
    List<highClassChangeCourseVO> selectProductHighClassList(@Param("order")String order,@Param("enableDisable")Integer enableDisable);

    /**
     * selectProductList
     *       
     * @Author wangpeng
     * @Date 2021/9/10
     * @param order
     * @param productName	
     * @return
     */
    List<CustomerProductVO> selectProductList(@Param("order")String order,@Param("productName")String productName);

    /**
     * addProductScene
     *       
     * @Author wangpeng
     * @Date 2021/9/10
     * @param course	
     * @return
     */
    Boolean addProductScene(@Param("course")sceneChangeCourseVO course);

    /**
     * addProductIndustry
     *       
     * @Author wangpeng
     * @Date 2021/9/10
     * @param course	
     * @return
     */
    Boolean addProductIndustry(@Param("course")industryChangeCourseVO course);

    /**
     * addProductHighClass
     *       
     * @Author wangpeng
     * @Date 2021/9/10
     * @param course	
     * @return
     */
    Boolean addProductHighClass(@Param("course")highClassChangeCourseVO course);

    /**
     * ProductHighClassList
     *       
     * @Author wangpeng
     * @Date 2021/9/13
     * @param ruleNumber	
     * @return
     */
    highClassChangeCourseVO ProductHighClassList(@Param("ruleNumber")String ruleNumber);

    /**
     * ProductIndustryList
     *       
     * @Author wangpeng
     * @Date 2021/9/13
     * @param ruleNumber	
     * @return
     */
    industryChangeCourseVO ProductIndustryList(@Param("ruleNumber")String ruleNumber);

    /**
     * ProductSceneList
     *       
     * @Author wangpeng
     * @Date 2021/9/13
     * @param ruleNumber	
     * @return
     */
    sceneChangeCourseVO ProductSceneList(@Param("ruleNumber")String ruleNumber);

    /**
     * updateProductSceneEnableDisable
     *       
     * @Author wangpeng
     * @Date 2021/9/13
     * @param id
     * @param enableDisable	
     * @return
     */
    Boolean updateProductSceneEnableDisable(@Param("id")String id,@Param("enableDisable") String enableDisable);

    List<ChangeCourseRecordVO> selectChangeCourseRecord(@Param("order")String order, @Param("vo")ChangeCourseRecordVO vo);

    /**
     * selectChangeCourseRecordRuleNumber
     * 查规则编号
     * @Author wangpeng
     * @Date 2021/9/26
     * @param
     * @return
     */
    List<ChangeCourseRecordVO> selectChangeCourseRecordRuleNumber();

    /**
     * selectHighClassExchangeDaysList
     * @Author wangpeng
     * @Date 2021/10/22
     * @param order
     * @return
     */
    List<highClassExchangeDaysVO> selectHighClassExchangeDaysList(@Param("order")String order,@Param("enableDisable") Integer enableDisable);

    Boolean addHighClassExchangeDays(@Param("vo")highClassExchangeDaysVO vo);

    Boolean updateIndustryChangeCourseEnableDisable(@Param("id")String id,@Param("enableDisable")String enableDisable);

    Boolean updateHighClassEnableDisable(@Param("id")String id,@Param("enableDisable")String enableDisable);

    Boolean updateHighClassExchangeDaysEnableDisable(@Param("id")String id,@Param("enableDisable")String enableDisable);

    List<siteExchangeIndustryVO> selectSiteExchangeIndustryList(@Param("order")String order,@Param("enableDisable")Integer enableDisable);

    Boolean addSiteExchangeIndustry(@Param("vo")siteExchangeIndustryVO vo);

    List<industryExchangeSiteVO> selectIndustryExchangeSiteList(@Param("order")String order,@Param("enableDisable")Integer enableDisable);

    Boolean addIndustryExchangeSite(@Param("vo")industryExchangeSiteVO vo);

    Boolean updateSiteExchangeIndustryEnableDisable(@Param("id")String id, @Param("enableDisable")String enableDisable);

    Boolean updateIndustryExchangeSiteEnableDisable(@Param("id")String id,@Param("enableDisable")String enableDisable);

    List<CustomerMemberProductVO> selectHighCustomerMemberProductList(@Param("order")String order,@Param("productName") String productName);
}
